/*
 *  Backpack.h
 *  NiNJA
 *
 *  Created by waver on 09-11-6.
 *  Copyright 2009 __MyCompanyName__. All rights reserved.
 *
 */
#import "VariableDefine.h"
#import "TypeRedefine.h"
#import <map>

typedef map<ItemsName,int>::iterator item_it;

/*!
    @class		Backpack
    @abstract    玩家的背包
    @discussion  用来存储玩家在游戏中获得的物品
*/

class BackpackBase  {
	
protected:
	//存储物品仓库,名字和数量
	map<ItemsName,int> BagStore;
	
	
public:
	
	/*!
    @protocol	addNewItems
    @abstract    拾取物品
    @discussion  此方法用来在游戏中拾取掉落的装备
*/
	virtual void AddNewItems(ItemsName item_name,int add_num) = 0;
	
	
	
	/*!
    @protocol    selectItemCountInBag
    @abstract    检索当前的物品在背包中的数量
    @discussion  
*/
	virtual int SelectItemCountInBag(ItemsName item_name) = 0;
	
	
	/*!
    @protocol	 useItems
    @abstract    使用物品
    @discussion  如果背包中无此物品则使用失败
*/
	virtual bool UseItems(ItemsName item_name ,int item_num) = 0;
	
	
};